#! /bin/bash

while((1))
do
	echo "用例列表："
	j=0
	for i in $(ls ./scripts/)	#生成用例列表
	do 
		case_list[j]=${i%.*}	 #截取左边${string%chars*} 截取右边 ${string#*chars}											
		echo -e "\e[32m 	$[$j+1] ${i%.*} \e[0m"  #遍历显示用例列表
		((j++))
	done
	echo -e "\e[32m	a 执行所有用例 \e[0m"
	read -p "请选择测试用例：" input
	if [ -z "$input" ]; then	#判断输入是否为空			
		echo -e "\e[31m 输入为空，请重新输入！\e[0m"   
	elif [ "${input}" == a ]; then   #输入a批量执行用例
		echo "执行用例：执行所有用例" 
		for case in ${case_list[*]}; do
			echo "执行用例:${case}"
			# 定义时间格式
			datetime=`date +%H:%M:%S_%Y-%m-%d`
			# 定义jtl文件和报告目录, 用于存放测试结果jtl文件和html测试报告
			export report_dir="results/${case}/$case-report-${datetime}"
			export jtl_file="$report_dir/${case}.jtl"
			#创建报告目录
			mkdir -p $report_dir 
			# 命令模式执行jmeter
			jmeter.sh -n -t scripts/${case}.jmx -l $jtl_file -e -o $report_dir
			echo -e "${case}测试OK,报告目录：${report_dir}\n"
		
		done
		
	elif [ ${case_list[(($input-1))]} ]; then  #输入编号单个执行用例
		# 定义用例名称
		export case="${case_list[(($input-1))]}"
		echo "执行用例：${case}.jmx"
		# 定义时间格式
		datetime=`date +%H:%M:%S_%Y-%m-%d`
		# 定义jtl文件和报告目录, 用于存放测试结果jtl文件和html测试报告
		export jtl_file="$report_dir/${case}.jtl"
		export report_dir="results/${case}/$case-report-${datetime}"
		#创建报告目录
		mkdir -p $report_dir 
		# 命令模式执行jmeter
		jmeter.sh -n -t scripts/${case}.jmx -l $jtl_file -e -o $report_dir
		echo -e "${case}测试OK,报告目录：${report_dir}\n"	

	else
		echo -e "\e[31m 无此选项，请重新输入！\e[0m"
	fi
done

# while((1))
# do
	# read -p "input: " input;
	# case $input in
		# 1)
		# echo $input
		# ;;
		# 2)
		# echo $input
		# ;;
		# *)
		# echo "无此选项，请重新输入！"
		# ;;
	# esac
# done



